﻿#if NETFRAMEWORK

using System;
using System.Collections.Generic;
using System.Web.UI;

namespace Xunit.Runner.v1
{
	/// <summary>
	/// Represents a wrapper around the Executor class from xUnit.net v1.
	/// </summary>
	public interface IXunit1Executor : IDisposable
	{
		/// <summary>
		/// Gets the display name of the test framework.
		/// </summary>
		string TestFrameworkDisplayName { get; }

		/// <summary>
		/// Enumerates the tests in the assembly.
		/// </summary>
		/// <param name="handler">The optional callback handler used to return information.</param>
		void EnumerateTests(ICallbackEventHandler? handler);

		/// <summary>
		/// Runs the tests in a class.
		/// </summary>
		/// <param name="type">The class to run.</param>
		/// <param name="methods">The methods in the class to run.</param>
		/// <param name="handler">The callback handler used to return information.</param>
		void RunTests(
			string type,
			List<string> methods,
			ICallbackEventHandler handler
		);
	}
}

#endif
